Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[VER-355] feat: Add Profile migration Alert and move all Profiles to trash after some delay #169

Merged
merged 8 commits into from
Apr 10, 2024

Conversation

Ldoppea
Copy link
Member

@Ldoppea Ldoppea commented Mar 29, 2024

We will soon remove the concept of Profiles and replace it by Cozy's Contacts

Because the user's vault is encrypted, we cannot do an automatic migration on server side

Also we prefer no to do a migration on the client's side due to the sensible nature of the data

Instead we want to warn the user that the Profile concept will be removed soon and that they need to migrate their data by themselves

We give the user some delays, after which the remaining Profiles will be moved to the trash and so become readonly and will be ignored by autofill capabilities

Related PR: cozy/cozy-pass-web#124
Related PR: cozy/cozy-pass-mobile#96


TODO:

  •  set definitive wording
  •  set definitive "more details" link

Ldoppea added a commit to cozy/cozy-pass-web that referenced this pull request Mar 29, 2024
We want to remove the concept of `Profiles` as they overlap with Cozy's
`Contacts`

In cozy-keys-browser we will add the concept of `Contacts` to replace
old profiles, but in cozy-pass-web we don't need to do this as the
`cozy-contact` app already exists

This commit prevents from creating a `Profile` cipher

Related PR: cozy/cozy-keys-browser#169
Ldoppea added a commit to cozy/cozy-pass-web that referenced this pull request Mar 29, 2024
We want to remove the concept of `Profiles` as they overlap with Cozy's
`Contacts`

In cozy-keys-browser we will add the concept of `Contacts` to replace
old profiles, but in cozy-pass-web we don't need to do this as the
`cozy-contact` app already exists

This commit prevents from restoring `Profile` ciphers

Related PR: cozy/cozy-keys-browser#169
Ldoppea added a commit to cozy/cozy-pass-web that referenced this pull request Mar 29, 2024
We want to remove the concept of `Profiles` as they overlap with Cozy's
`Contacts`

In cozy-keys-browser we will add the concept of `Contacts` to replace
old profiles, but in cozy-pass-web we don't need to do this as the
`cozy-contact` app already exists

This commit hides the `Profile` category if empty (which should be the
case after the migration is done on cozy-keys-browser side)

Related PR: cozy/cozy-keys-browser#169
Ldoppea added a commit to cozy/cozy-pass-web that referenced this pull request Mar 29, 2024
We want to remove the concept of `Profiles` as they overlap with Cozy's
`Contacts`

In cozy-keys-browser we will add the concept of `Contacts` to replace
old profiles, but in cozy-pass-web we don't need to do this as the
`cozy-contact` app already exists

This commit prevents from creating a `Profile` cipher

Related PR: cozy/cozy-keys-browser#169
Ldoppea added a commit to cozy/cozy-pass-web that referenced this pull request Mar 29, 2024
We want to remove the concept of `Profiles` as they overlap with Cozy's
`Contacts`

In cozy-keys-browser we will add the concept of `Contacts` to replace
old profiles, but in cozy-pass-web we don't need to do this as the
`cozy-contact` app already exists

This commit prevents from restoring `Profile` ciphers

Related PR: cozy/cozy-keys-browser#169
Ldoppea added a commit to cozy/cozy-pass-web that referenced this pull request Mar 29, 2024
We want to remove the concept of `Profiles` as they overlap with Cozy's
`Contacts`

In cozy-keys-browser we will add the concept of `Contacts` to replace
old profiles, but in cozy-pass-web we don't need to do this as the
`cozy-contact` app already exists

This commit hides the `Profile` category if empty (which should be the
case after the migration is done on cozy-keys-browser side)

Related PR: cozy/cozy-keys-browser#169
Ldoppea added a commit to cozy/cozy-pass-web that referenced this pull request Mar 29, 2024
We want to remove the concept of `Profiles` as they overlap with Cozy's
`Contacts`

In cozy-keys-browser we will add the concept of `Contacts` to replace
old profiles, but in cozy-pass-web we don't need to do this as the
`cozy-contact` app already exists

This commit prevents from creating a `Profile` cipher

Related PR: cozy/cozy-keys-browser#169
Ldoppea added a commit to cozy/cozy-pass-web that referenced this pull request Mar 29, 2024
We want to remove the concept of `Profiles` as they overlap with Cozy's
`Contacts`

In cozy-keys-browser we will add the concept of `Contacts` to replace
old profiles, but in cozy-pass-web we don't need to do this as the
`cozy-contact` app already exists

This commit prevents from restoring `Profile` ciphers

Related PR: cozy/cozy-keys-browser#169
Ldoppea added a commit to cozy/cozy-pass-web that referenced this pull request Mar 29, 2024
We want to remove the concept of `Profiles` as they overlap with Cozy's
`Contacts`

In cozy-keys-browser we will add the concept of `Contacts` to replace
old profiles, but in cozy-pass-web we don't need to do this as the
`cozy-contact` app already exists

This commit hides the `Profile` category if empty (which should be the
case after the migration is done on cozy-keys-browser side)

Related PR: cozy/cozy-keys-browser#169
@Ldoppea Ldoppea force-pushed the feat/profile_migration_alert branch from b3afde5 to 75009cc Compare March 29, 2024 19:20
Ldoppea added a commit to cozy/cozy-pass-mobile that referenced this pull request Mar 29, 2024
We want to remove the concept of `Profiles` as they overlap with Cozy's
`Contacts`

In cozy-keys-browser we will add the concept of `Contacts` to replace
old profiles, but in cozy-pass-mobile we won't add this for now as it
would require more work that we did not prioritize yet (we may want to
wait for future Bitwarden's announced technology switch)

This commit prevents from creating a `Profile` cipher

Related PR: cozy/cozy-keys-browser#169
Ldoppea added a commit to cozy/cozy-pass-mobile that referenced this pull request Mar 29, 2024
We want to remove the concept of `Profiles` as they overlap with Cozy's
`Contacts`

In cozy-keys-browser we will add the concept of `Contacts` to replace
old profiles, but in cozy-pass-mobile we won't add this for now as it
would require more work that we did not prioritize yet (we may want to
wait for future Bitwarden's announced technology switch)

This commit prevents from editing and restoring `Profile` ciphers

Related PR: cozy/cozy-keys-browser#169
@Ldoppea Ldoppea changed the title feat: Add Profile migration Alert and move all Profiles to trash after some delay [VER-355] feat: Add Profile migration Alert and move all Profiles to trash after some delay Mar 29, 2024
@zatteo
Copy link

zatteo commented Apr 3, 2024

Moving to trash and preventing restoration is very smart.

@Ldoppea
Copy link
Member Author

Ldoppea commented Apr 3, 2024

Moving to trash and preventing restoration is very smart.

image

@Ldoppea Ldoppea force-pushed the feat/profile_migration_alert branch 4 times, most recently from 465156c to ae67be8 Compare April 10, 2024 14:48
We will soon remove the concept of `Profiles` and replace it by Cozy's
`Contacts`

Because the user's vault is encrypted, we cannot do an automatic
migration on server side

Also we prefer no to do a migration on the client's side due to the
sensible nature of the data

Instead we want to warn the user that the `Profile` concept will be
removed soon and that they need to migrate their data by themselves

We give the user some delays, after which the remaining `Profiles` will
be moved to the trash and so become readonly and will be ignored by
autofill capabilities

This commit adds the Alert that will be shown to the user. This app
will keep displaying this Alert until all `Profiles` are removed

If no `Profile` exist, then this Alert is not shown
The first time the `Profile` migration Alert is displayed, then we want
to start a delay of 15 days during which the user will be able to
migrate their Profiles into Contacts

This delay is stored in the browser's local storage into the form of a
deadline and is not synced between clients

The Alert will then display this deadline to the user
After the deadline is reached (cf previous commit), we want the app to
move all user's `Profiles` into the Trash

By doing so we ensure that the data is still available (we don't take
the risk of destroying it without user action) but it will be readonly
and won't be used by the autofill anymore
Because we want to remove the concept of `Profiles` from the app, then
we want to remove all actions that allow to create new `Profiles` or to
access `Profile` sections
In previous commits we did a method that automatically move `Profiles`
into the user's trash

This commit removes the `restore` button from trashed `Profiles` view
This is an optimization that prevent the profile-migration component to
be loaded if no `Profile` exists in the vault

This won't change anything for the user, but this would prevent
unnecessary checks that would occurs inside of the profile-migration
component
In 313eb81 we refactored the delete
method but this broke the ability to delete non contact/papers ciphers
@Ldoppea Ldoppea force-pushed the feat/profile_migration_alert branch from ae67be8 to b2b0839 Compare April 10, 2024 15:05
@Ldoppea Ldoppea merged commit 8013691 into feat/stream1 Apr 10, 2024
2 checks passed
@delete-merged-branch delete-merged-branch bot deleted the feat/profile_migration_alert branch April 10, 2024 15:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants